﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using AtencionMedicaWS.Dominio;
using NHibernate;
using NHibernate.Criterion;
using System.Data.SqlClient;

namespace AtencionMedicaWS.Persistencia
{
    public class AtencionMedicaDAO 
    {
        public AtencionMedica Obtener(Int32 codigo)
        {
            string _Sentencia = "SELECT CodigoAtencion, NumeroCita, Diagnostico FROM AtencionMedica WHERE CodigoAtencion=@codigo";
            AtencionMedica atencionCreada = null;
            using (SqlConnection _Conexion = new SqlConnection(ConexionUtil.ObtenerCadena()))
            {
                _Conexion.Open();
                using (SqlCommand _Comando = new SqlCommand(_Sentencia, _Conexion))
                {
                    _Comando.Parameters.Add(new SqlParameter("@codigo", codigo));
                    using (SqlDataReader _Resultado = _Comando.ExecuteReader())
                    {
                        if (_Resultado.Read())
                        {
                            atencionCreada = new AtencionMedica();
                            atencionCreada.Codigo = _Resultado.GetInt32(0);
                            atencionCreada.NumeroCita = _Resultado.GetInt32(1);
                            atencionCreada.Diagnostico = _Resultado.GetString(2);
                        }
                    }
                }
            }
            return atencionCreada;
        }

        public AtencionMedica ObtenerPorCita(Int32 numeroCita)
        {
            string _Sentencia = "SELECT CodigoAtencion, NumeroCita, Diagnostico FROM AtencionMedica WHERE NumeroCita=@numeroCita";
            AtencionMedica atencionCreada = null;
            using (SqlConnection _Conexion = new SqlConnection(ConexionUtil.ObtenerCadena()))
            {
                _Conexion.Open();
                using (SqlCommand _Comando = new SqlCommand(_Sentencia, _Conexion))
                {
                    _Comando.Parameters.Add(new SqlParameter("@numeroCita", numeroCita));
                    using (SqlDataReader _Resultado = _Comando.ExecuteReader())
                    {
                        if (_Resultado.Read())
                        {
                            atencionCreada = new AtencionMedica();
                            atencionCreada.Codigo = _Resultado.GetInt32(0);
                            atencionCreada.NumeroCita = _Resultado.GetInt32(1);
                            atencionCreada.Diagnostico = _Resultado.GetString(2);
                        }
                    }
                }
            }
            return atencionCreada;
        }
    }
}